﻿CREATE OR REPLACE FUNCTION insertar_respuesta_alumno2(uno integer, dos integer, tres integer,
cuatro character, cinco character varying, seis character varying, siete character varying,
ocho integer, nueve integer, diez character varying, once character varying, doce integer, trece character varying)
RETURNS void AS
$BODY$
DECLARE
respuesta numeric := (select grado from opcion_multiple where id_pregunta=dos and id_opcion=cuatro)*doce;

BEGIN

INSERT INTO public.respuesta (id_instrumento,id_pregunta,id_instancia,respuesta)
VALUES (uno,dos,tres,respuesta);

INSERT INTO public.respuesta_alumno (id_respuesta,id_instrumento,id_pregunta,carnet_alumno,
codigo_materia_grupo,codigo_carrera_materia_grupo,
plan_estudios_carrera_materia_grupo,numero_anho_grupo,
ciclo_anho_grupo,numero_grupo,id_instancia,respuesta,codigo_personal)
VALUES (currval('respuesta_id_respuesta_seq'::regclass) ,uno,dos,cinco,seis,siete,ocho,nueve,diez,
once,tres,respuesta,trece);
END;
$BODY$
LANGUAGE plpgsql VOLATILE
COST 100;
ALTER FUNCTION insertar_respuesta_alumno(integer, integer, integer, character, character varying, character varying, character varying, integer, integer, character varying, character varying, integer, character varying) OWNER TO postgres;


CREATE OR REPLACE FUNCTION insertar_respuesta_alumno(integer, integer, integer, character, character varying, character varying, character varying, integer, integer, character varying, character varying, integer, character varying)
  RETURNS void AS
$BODY$
DECLARE
	v_respuesta numeric := (select grado from opcion_multiple where id_pregunta=$2 and id_opcion=$4)*$12;

BEGIN

	INSERT INTO respuesta (id_instrumento,id_pregunta,id_instancia,respuesta) 
		VALUES ($1,$2,$3,v_respuesta);

	INSERT INTO respuesta_alumno (id_respuesta,id_instrumento,id_pregunta,carnet_alumno,
		codigo_materia_grupo,codigo_carrera_materia_grupo,
		plan_estudios_carrera_materia_grupo,numero_anho_grupo,
		ciclo_anho_grupo,numero_grupo,id_instancia,respuesta,codigo_personal) 
		VALUES (currval('respuesta_id_respuesta_seq'::regclass) ,$1,$2,$5,$6,$7,$8,$9,$10,
			$11,$3,v_respuesta,$13);
END;
$BODY$
  LANGUAGE plpgsql VOLATILE
  COST 100;